package com.lyf.design.learn.designmodel.strategy.sortsample.demo2;

/**
 * @AUTHOR LYF
 * @DATE 2022/6/2
 * @VERSION 1.0
 * @DESC
 */
public class Sorter<T> { //要传排何种对象，至于对象的排序策略需要设置---
    // 需要将所有抽象类--放进来--

    ComparableStrategy<T> comparableStrategy=null;
    // 排序策略
    public void setComparableStrategy(ComparableStrategy<T> comparableStrategy) {
        this.comparableStrategy = comparableStrategy;
    }
    // 排序方法
    void sort(T[] arr) throws Exception {
        if(comparableStrategy==null){
            // 设置为默认策略--
            if(arr[0] instanceof Animal){
               //  抽象类进行判断---选取该默认策略比较
            }
            throw new Exception("请先设置策略");
        }
        //---排序---
    }
}
